package com.ytjj.qmyx.admin.dao;

import com.ytjj.qmyx.admin.model.Admin;
import com.ytjj.qmyx.admin.model.Menu;
import com.ytjj.qmyx.admin.model.Permission;
import com.ytjj.qmyx.admin.model.Role;
import com.ytjj.qmyx.admin.model.request.BankerRequest;
import com.ytjj.qmyx.admin.model.response.BankerAddressResponse;
import com.ytjj.qmyx.admin.model.response.BankerDataResponse;
import com.ytjj.qmyx.admin.model.response.BankerResponse;
import com.ytjj.qmyx.admin.model.response.BankerSiteForumResponse;
import com.ytjj.qmyx.mall.model.Banker;
import com.ytjj.qmyx.mall.model.BankerSite;
import com.ytjj.qmyx.mall.model.SpecialBrand;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface BankerDao {

    List<Role> getRoleByTel(String tel);

    List<Permission> getPermissionByRoleId(Integer roleId);

    List<Menu> getMenuAllByTel(String tel);

    List<Banker> bankerList(BankerRequest bankerRequest);

    List<Role> getRoleListByBankerId(Integer bankerId);

    List<Admin> getChildrenById(BankerRequest bankerRequest);

    List<BankerResponse> getbankerTitle(@Param("bankerId") Integer bankerId);

    List<BankerDataResponse> getBankerDataResponseList(BankerRequest bankerRequest);

    Integer updateHoliday(@Param("id") Integer id, @Param("isHoliday") Integer isHoliday);

    List<BankerResponse> getSpecialBrand(Integer bankerId);

    List<SpecialBrand> getSpecialBrandList(Integer bankerId);

    Integer addProductNum(Integer bankerId);

    Integer subProductNum(Integer bankerId);

    Integer syncZeroNum(@Param("bankerId") Integer bankerId, @Param("zeroTryNum") Integer zeroTryNum);

    BankerSite getBankerSite(Integer bankerId);

    SpecialBrand getOneSpecialBrand(@Param("specialId") Integer id, @Param("bankerId") Integer bankerId);

    List<BankerSiteForumResponse> getBrandList(String bankerName);

    List<String> getBuyerList();

    List<String> getAssistantList();

    List<BankerAddressResponse> selectReturnAddressByBankerId(@Param("bankerId") Integer bankerId);

    List<BankerAddressResponse> selectReturnAddressByAddressId(@Param("addressId") Integer addressId);

    int updateBankerOrder(@Param("expressCompanyNo") String expressCompanyNo,
                          @Param("expressNo") String expressNo,
                          @Param("orderInfoId") String orderInfoId);

//    int updateBankerOrder(@Param("list") List<NewImportOrderRequest> list);
}
